﻿using BaseData.CommonLib.Models;
using Swimj.CommonLib.Base;

namespace BaseData.ApplicationLib.Queries
{
    public interface IMaterialCategoryQueries
    {
        Task<Result<IList<MaterialCategoryTreeResponseDto>>?> QueryMaterialCategoriesByTree();
    
        Task<Result<MaterialCategoryInfoResponseDto>?> GetMaterialCategory(int id);

        Task<PaginatedResult<MaterialCategoryInfoResponseDto>?> QueryMaterialCategoriesByPage(
            MaterialCategorySearchRequestDto model);

        Task<Result<IList<MaterialCategoryInfoResponseDto>>?> QueryMaterialCategories(
            MaterialCategorySearchRequestDto model);
    }
}